\hypertarget{class_selector_service}{\section{Selector\-Service$<$ Item $>$ Class Template Reference}
\label{class_selector_service}\index{Selector\-Service$<$ Item $>$@{Selector\-Service$<$ Item $>$}}
}


{\ttfamily \#include $<$Selector\-Service.\-hpp$>$}

Inheritance diagram for Selector\-Service$<$ Item $>$\-:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3.000000cm]{class_selector_service}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\hypertarget{class_selector_service_a5b33c1dc6e5f3bda82dada30557dc298}{typedef std\-::pair$<$ std\-::string, \\*
Item $>$ {\bfseries Name\-Item\-Pair\-Type}}\label{class_selector_service_a5b33c1dc6e5f3bda82dada30557dc298}

\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{class_selector_service_abf147046e145822299d1627234634092}{Selector\-Service} (\hyperlink{class_human_digital_input}{Human\-Digital\-Input} \&up\-Input, \hyperlink{class_human_digital_input}{Human\-Digital\-Input} \&down\-Input, \hyperlink{class_value_output}{Value\-Output}$<$ std\-::string $>$ \&value\-Output=\hyperlink{class_null_value_output}{Null\-Value\-Output}$<$ std\-::string $>$\-::Get\-Instance())
\item 
\hyperlink{class_selector_service_adc403d822054db09aa8aa247af4ee37a}{Selector\-Service} (Driver\-Station\-Enhanced\-I\-O \&driver\-Station\-Io, U\-I\-N\-T32 button\-Up, U\-I\-N\-T32 button\-Down, \hyperlink{class_value_output}{Value\-Output}$<$ std\-::string $>$ \&value\-Output=\hyperlink{class_null_value_output}{Null\-Value\-Output}$<$ std\-::string $>$\-::Get\-Instance())
\item 
virtual \hyperlink{class_selector_service_aa0f27a169ae3a7b8ef7e878f08308222}{$\sim$\-Selector\-Service} ()
\item 
void \hyperlink{class_selector_service_af888ea55bffe768dbc768f079e6517da}{Add\-Item} (std\-::string name, Item item)
\item 
Item \hyperlink{class_selector_service_a3c9fe31741a72f237042c6d870290336}{Get\-Selected\-Item} ()
\item 
const std\-::vector\\*
$<$ Name\-Item\-Pair\-Type $>$ \& \hyperlink{class_selector_service_a94d7e95c13e9528ee3ac4a4624905ae5}{Get\-Name\-Item\-Pairs} () const 
\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual void \hyperlink{class_selector_service_a422be7e8347b12f51baa756797b6a855}{Handle\-Start} ()
\item 
virtual void \hyperlink{class_selector_service_a0105771fb348849983bfd2f622928626}{Handle\-Stop} ()
\item 
virtual void \hyperlink{class_selector_service_a03e873370af26ecad1d1ac5a77d62c42}{Handle\-Periodic} ()
\item 
virtual void \hyperlink{class_selector_service_a309cdd8ce105ff5110856881cf5d83da}{Handle\-Item\-Added} (Item item)
\item 
virtual void \hyperlink{class_selector_service_ac85d4fafdcfd8817a64f2300d45f1c9e}{Handle\-Item\-Selected\-Impl} (Item item)
\item 
virtual void \hyperlink{class_selector_service_ad2a5758dfbbedcf62cc0e4e8989570d4}{Handle\-Item\-Unselected\-Impl} (Item item)
\end{DoxyCompactItemize}


\subsection{Detailed Description}
\subsubsection*{template$<$typename Item$>$class Selector\-Service$<$ Item $>$}

The \hyperlink{class_selector_service}{Selector\-Service} template class selects from a list items based on some input.

Testing shows this class mostly works.


\begin{DoxyTemplParams}{Template Parameters}
{\em Item\-Type} & Type of selectable. \\
\hline
\end{DoxyTemplParams}


\subsection{Constructor \& Destructor Documentation}
\hypertarget{class_selector_service_abf147046e145822299d1627234634092}{\index{Selector\-Service@{Selector\-Service}!Selector\-Service@{Selector\-Service}}
\index{Selector\-Service@{Selector\-Service}!SelectorService@{Selector\-Service}}
\subsubsection[{Selector\-Service}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Item$>$ {\bf Selector\-Service}$<$ Item $>$\-::{\bf Selector\-Service} (
\begin{DoxyParamCaption}
\item[{{\bf Human\-Digital\-Input} \&}]{up\-Input, }
\item[{{\bf Human\-Digital\-Input} \&}]{down\-Input, }
\item[{{\bf Value\-Output}$<$ std\-::string $>$ \&}]{value\-Output = {\ttfamily {\bf Null\-Value\-Output}$<$std\-:\-:string$>$\-:\-:GetInstance()}}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_selector_service_abf147046e145822299d1627234634092}
Constructor for \hyperlink{class_selector_service}{Selector\-Service}.


\begin{DoxyParams}{Parameters}
{\em up\-Input} & The \hyperlink{class_human_digital_input}{Human\-Digital\-Input} for selecting up the list. User is still reposible for deletion of parameter. \\
\hline
{\em down\-Input} & The \hyperlink{class_human_digital_input}{Human\-Digital\-Input} for selecting down the list. User is still reposible for deletion of parameter. \\
\hline
{\em value\-Output} & The string \hyperlink{class_value_output}{Value\-Output} for outputing the name of the selected item. User is still reposible for deletion of parameter. \\
\hline
\end{DoxyParams}
\hypertarget{class_selector_service_adc403d822054db09aa8aa247af4ee37a}{\index{Selector\-Service@{Selector\-Service}!Selector\-Service@{Selector\-Service}}
\index{Selector\-Service@{Selector\-Service}!SelectorService@{Selector\-Service}}
\subsubsection[{Selector\-Service}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Item$>$ {\bf Selector\-Service}$<$ Item $>$\-::{\bf Selector\-Service} (
\begin{DoxyParamCaption}
\item[{Driver\-Station\-Enhanced\-I\-O \&}]{driver\-Station\-Io, }
\item[{U\-I\-N\-T32}]{button\-Up, }
\item[{U\-I\-N\-T32}]{button\-Down, }
\item[{{\bf Value\-Output}$<$ std\-::string $>$ \&}]{value\-Output = {\ttfamily {\bf Null\-Value\-Output}$<$std\-:\-:string$>$\-:\-:GetInstance()}}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_selector_service_adc403d822054db09aa8aa247af4ee37a}
Constructor for \hyperlink{class_selector_service}{Selector\-Service}.


\begin{DoxyParams}{Parameters}
{\em driver\-Station\-Io} & Driver station I\-O. User is still reposible for deletion of parameter. \\
\hline
{\em button\-Up} & Channel number for button for selecting up the list. \\
\hline
{\em button\-Down} & Channel number for button for selecting down the list. \\
\hline
{\em value\-Output} & The string \hyperlink{class_value_output}{Value\-Output} for outputing the name of the selected item. User is still reposible for deletion of parameter. \\
\hline
\end{DoxyParams}
\hypertarget{class_selector_service_aa0f27a169ae3a7b8ef7e878f08308222}{\index{Selector\-Service@{Selector\-Service}!$\sim$\-Selector\-Service@{$\sim$\-Selector\-Service}}
\index{$\sim$\-Selector\-Service@{$\sim$\-Selector\-Service}!SelectorService@{Selector\-Service}}
\subsubsection[{$\sim$\-Selector\-Service}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Item$>$ virtual {\bf Selector\-Service}$<$ Item $>$\-::$\sim${\bf Selector\-Service} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{class_selector_service_aa0f27a169ae3a7b8ef7e878f08308222}
Destructor for \hyperlink{class_selector_service}{Selector\-Service}. 

\subsection{Member Function Documentation}
\hypertarget{class_selector_service_af888ea55bffe768dbc768f079e6517da}{\index{Selector\-Service@{Selector\-Service}!Add\-Item@{Add\-Item}}
\index{Add\-Item@{Add\-Item}!SelectorService@{Selector\-Service}}
\subsubsection[{Add\-Item}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Item$>$ void {\bf Selector\-Service}$<$ Item $>$\-::Add\-Item (
\begin{DoxyParamCaption}
\item[{std\-::string}]{name, }
\item[{Item}]{item}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_selector_service_af888ea55bffe768dbc768f079e6517da}
Add a selectable item.


\begin{DoxyParams}{Parameters}
{\em name} & The string to act as the item's name. \\
\hline
{\em item} & The item to be added. \\
\hline
\end{DoxyParams}
\hypertarget{class_selector_service_a94d7e95c13e9528ee3ac4a4624905ae5}{\index{Selector\-Service@{Selector\-Service}!Get\-Name\-Item\-Pairs@{Get\-Name\-Item\-Pairs}}
\index{Get\-Name\-Item\-Pairs@{Get\-Name\-Item\-Pairs}!SelectorService@{Selector\-Service}}
\subsubsection[{Get\-Name\-Item\-Pairs}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Item$>$ const std\-::vector$<$Name\-Item\-Pair\-Type$>$\& {\bf Selector\-Service}$<$ Item $>$\-::Get\-Name\-Item\-Pairs (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_selector_service_a94d7e95c13e9528ee3ac4a4624905ae5}
Get a reference to a list of name/item pairs.

\begin{DoxyReturn}{Returns}
A reference to a list of name/item pairs. 
\end{DoxyReturn}
\hypertarget{class_selector_service_a3c9fe31741a72f237042c6d870290336}{\index{Selector\-Service@{Selector\-Service}!Get\-Selected\-Item@{Get\-Selected\-Item}}
\index{Get\-Selected\-Item@{Get\-Selected\-Item}!SelectorService@{Selector\-Service}}
\subsubsection[{Get\-Selected\-Item}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Item$>$ Item {\bf Selector\-Service}$<$ Item $>$\-::Get\-Selected\-Item (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_selector_service_a3c9fe31741a72f237042c6d870290336}
Get the selected item.

\begin{DoxyReturn}{Returns}
The selected item. 
\end{DoxyReturn}
\hypertarget{class_selector_service_a309cdd8ce105ff5110856881cf5d83da}{\index{Selector\-Service@{Selector\-Service}!Handle\-Item\-Added@{Handle\-Item\-Added}}
\index{Handle\-Item\-Added@{Handle\-Item\-Added}!SelectorService@{Selector\-Service}}
\subsubsection[{Handle\-Item\-Added}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Item$>$ virtual void {\bf Selector\-Service}$<$ Item $>$\-::Handle\-Item\-Added (
\begin{DoxyParamCaption}
\item[{Item}]{item}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [protected]}, {\ttfamily [virtual]}}}\label{class_selector_service_a309cdd8ce105ff5110856881cf5d83da}
This function is run when an item is added.


\begin{DoxyParams}{Parameters}
{\em item} & The item being added. \\
\hline
\end{DoxyParams}


Reimplemented in \hyperlink{class_service_selector_service_a4b457dcef8bafe48e11cd04c397b8c24}{Service\-Selector\-Service}.

\hypertarget{class_selector_service_ac85d4fafdcfd8817a64f2300d45f1c9e}{\index{Selector\-Service@{Selector\-Service}!Handle\-Item\-Selected\-Impl@{Handle\-Item\-Selected\-Impl}}
\index{Handle\-Item\-Selected\-Impl@{Handle\-Item\-Selected\-Impl}!SelectorService@{Selector\-Service}}
\subsubsection[{Handle\-Item\-Selected\-Impl}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Item$>$ virtual void {\bf Selector\-Service}$<$ Item $>$\-::Handle\-Item\-Selected\-Impl (
\begin{DoxyParamCaption}
\item[{Item}]{item}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [protected]}, {\ttfamily [virtual]}}}\label{class_selector_service_ac85d4fafdcfd8817a64f2300d45f1c9e}
This function is run when an item is selected.


\begin{DoxyParams}{Parameters}
{\em item} & The selected item. \\
\hline
\end{DoxyParams}


Reimplemented in \hyperlink{class_service_selector_service_a528ae9fe465ac1e16b299a92b8ff89e9}{Service\-Selector\-Service}.

\hypertarget{class_selector_service_ad2a5758dfbbedcf62cc0e4e8989570d4}{\index{Selector\-Service@{Selector\-Service}!Handle\-Item\-Unselected\-Impl@{Handle\-Item\-Unselected\-Impl}}
\index{Handle\-Item\-Unselected\-Impl@{Handle\-Item\-Unselected\-Impl}!SelectorService@{Selector\-Service}}
\subsubsection[{Handle\-Item\-Unselected\-Impl}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Item$>$ virtual void {\bf Selector\-Service}$<$ Item $>$\-::Handle\-Item\-Unselected\-Impl (
\begin{DoxyParamCaption}
\item[{Item}]{item}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [protected]}, {\ttfamily [virtual]}}}\label{class_selector_service_ad2a5758dfbbedcf62cc0e4e8989570d4}
This function is run when an item is unselected.


\begin{DoxyParams}{Parameters}
{\em item} & The unselected item. \\
\hline
\end{DoxyParams}


Reimplemented in \hyperlink{class_service_selector_service_aa9ae0fbd0892944a0b90d75ffabdfa87}{Service\-Selector\-Service}.

\hypertarget{class_selector_service_a03e873370af26ecad1d1ac5a77d62c42}{\index{Selector\-Service@{Selector\-Service}!Handle\-Periodic@{Handle\-Periodic}}
\index{Handle\-Periodic@{Handle\-Periodic}!SelectorService@{Selector\-Service}}
\subsubsection[{Handle\-Periodic}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Item$>$ virtual void {\bf Selector\-Service}$<$ Item $>$\-::Handle\-Periodic (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [protected]}, {\ttfamily [virtual]}}}\label{class_selector_service_a03e873370af26ecad1d1ac5a77d62c42}
Handle service periodic loop by reselecting item based on human input. 

Reimplemented from \hyperlink{class_service_a9604d04295202019e9a15f8c93bb31c6}{Service}.

\hypertarget{class_selector_service_a422be7e8347b12f51baa756797b6a855}{\index{Selector\-Service@{Selector\-Service}!Handle\-Start@{Handle\-Start}}
\index{Handle\-Start@{Handle\-Start}!SelectorService@{Selector\-Service}}
\subsubsection[{Handle\-Start}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Item$>$ virtual void {\bf Selector\-Service}$<$ Item $>$\-::Handle\-Start (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [protected]}, {\ttfamily [virtual]}}}\label{class_selector_service_a422be7e8347b12f51baa756797b6a855}
Handle service start by selecting the first item. 

Reimplemented from \hyperlink{class_service_a37c9e32f9044122d3a6d2ab40fc17c39}{Service}.

\hypertarget{class_selector_service_a0105771fb348849983bfd2f622928626}{\index{Selector\-Service@{Selector\-Service}!Handle\-Stop@{Handle\-Stop}}
\index{Handle\-Stop@{Handle\-Stop}!SelectorService@{Selector\-Service}}
\subsubsection[{Handle\-Stop}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Item$>$ virtual void {\bf Selector\-Service}$<$ Item $>$\-::Handle\-Stop (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [protected]}, {\ttfamily [virtual]}}}\label{class_selector_service_a0105771fb348849983bfd2f622928626}
Handle service stop by unselecting the selected item. 

Reimplemented from \hyperlink{class_service_a38a2e9e764f74fe0da634d2252ee8744}{Service}.



The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
\item 
C\-:/\-Users/\-Sam/\-Projects/\-F\-R\-C/\-Libraries/\-Fpk/\-Entech-\/\-Fpk-\/\-Subscribers/\-Entech-\/\-Fpk/\-Services/Selector\-Service.\-hpp\end{DoxyCompactItemize}
